以滿足不同今天要介紹 Spring Boot 用不同的註解來處理不同的資料獲取方式和請求標籤,的應用程序需求。在這篇文章中,我們將深入探討常見的資料獲取方式,並提供相關的程式碼示例。
如果你需要處理URL中的查詢參數(Query Parameters),可以使用@RequestParam註解。以下是一個示例:
@GetMapping("/user")
public String search(@RequestParam("id") String id) {
// 在這裡,我們可以使用query參數來執行搜索
return "Search query: " + id;
}
當訪問/api/search?query=spring時,Spring Boot將擷取query查詢參數並映射到query參數中。
如果你需要獲取HTTP請求的標頭信息,可以使用@RequestHeader註解。以下是一個示例:
@GetMapping("/user-agent")
public String getUserAgent(@RequestHeader("User-Agent") String userAgent) {
// 在這裡,我們可以獲取User-Agent標頭信息
return "User-Agent: " + userAgent;
}
這個方法將返回User-Agent標頭信息,該信息通常包含了發出請求的用戶代理(瀏覽器或應用程式)相關信息。
有時你可能需要接受多個路徑變數。你可以在方法參數中使用多個@PathVariable來實現這一點:
@PostMapping("/user/{userId}/{userName}")
public String getOrderDetails(
@PathVariable("userId") Long userId,
@PathVariable("userName") String name) {
// 在這裡,我們可以使用userId和orderId來查詢訂單詳細信息
return "User ID: " + userId + ", User Name: " + name;
}
當訪問/api/user/100/chocolee時,Spring Boot將映射userId為100,userName為chocolee時。
如果你需要處理HTTP POST或PUT請求的主體(Body),可以使用@RequestBody註解。以下是一個示例:
@PostMapping("/add-user")
public String addUser(@RequestBody User user) {
// 在這裡,我們可以處理傳遞的用戶對象
// 例如,將用戶信息保存到資料庫
return "User Id: " + user.getId() + " User Name: " + user.getName();
}
在這個方法中,我們接受一個User對象,該對象包含了用戶的相關信息。這個對象可以是JSON或XML格式,Spring Boot將自動將請求主體轉換為對應的Java對象。